<template>
  <div v-loading="loading">
    <div v-if="head" id="head">
      <div>
        <div>查询结果：{{ msg }}
          <el-button :disabled="!time" type="primary" size="mini" @click="getData()">刷新结果</el-button>
        </div>
        <div>
          <el-button type="primary" size="mini" @click="openBdc">
            {{ time ? '再次获取报告' : '获取报告' }}
            {{ computePrice }}
          </el-button>
        </div>
        <div>
          上次查询时间：{{ time ? time : '暂无' }}
        </div>
      </div>
      <p id="describe">{{ explain }}</p>
    </div>

    <div v-if="lock" id="bg">
      <table id="sfhy">
        <tr style="background-color: #f7f9ff">
          <td colspan="5">结果说明</td>
        </tr>
        <tr class="xs">
          <td colspan="5">
            {{
              xrData.resultCode == 0 ? cxjg() : xrData.resultCode == 1 ? '查询成功有结果' : ''
            }}
          </td>
        </tr>
        <tr>
          <td colspan="5"></td>
        </tr>
        <tr style="background-color: #f7f9ff">
          <td rowspan="2">审核</td>
          <td colspan="2">审批状态</td>
          <td colspan="2">审批不过原因</td>
        </tr>
        <tr class="xs">
          <td colspan="2">{{ shzt(xrData.detail.approvalStatus) }}</td>
          <td colspan="2">{{ xrData.detail.rejectReason }}</td>
        </tr>
        <tr>
          <td colspan="5"></td>
        </tr>
        <tr style="background-color: #f3f6ff">
          <td colspan="5">审核结果集</td>
        </tr>
        <tr class="xs">
          <td colspan="2">当事人身份证</td>
          <td>核查状态</td>
          <td>是否重新审核</td>
          <td>核查状态说明</td>
        </tr>

        <template v-for="(item_,index) of xrData.detail.authResults">
          <tr class="xs">
            <td colspan="2">{{ item_.cardNum }}</td>
            <td>{{ hczt(item_.authState) }}</td>
            <td>{{ item_.isReAuth == '0' ? '否' : item_.isReAuth == '1' ? '是' : '' }}</td>
            <td>{{ item_.authStateDesc }}</td>
          </tr>
          <template v-if="item_.resultList"
                    v-for="(item, index) of item_.resultList">
            <tr class="xs">
              <td colspan="5" style="padding: 4px 0;background-color: #f3f6ff">
                <span style="font-size: 12px;">第{{ index + 1 }}条</span>
              </td>
            </tr>
            <tr class="xs">
              <td colspan="2">不动产权证号</td>
              <td colspan="3">{{ item.certNo }}</td>
            </tr>
            <tr class="xs">
              <td colspan="2">不动产单元号</td>
              <td colspan="3">{{ item.unitNo }}</td>
            </tr>
            <tr class="xs">
              <td colspan="2">坐落</td>
              <td colspan="3">{{ item.location }}</td>
            </tr>
            <tr class="xs">
              <td colspan="2">共有情况</td>
              <td colspan="3">{{ item.ownership }}</td>
            </tr>
            <tr class="xs">
              <td colspan="2">房屋面积</td>
              <td colspan="3">{{ item.houseArea }}</td>
            </tr>
            <tr class="xs">
              <td colspan="2">权利类型</td>
              <td colspan="3">{{ item.rightsType }}</td>
            </tr>
            <tr class="xs">
              <td colspan="2">是否查封（是、否）</td>
              <td colspan="3">{{ item.isSealUp }}</td>
            </tr>
            <tr class="xs">
              <td colspan="2">是否抵押（是、否）</td>
              <td colspan="3">{{ item.isMortgaged }}</td>
            </tr>
            <tr class="xs">
              <td colspan="2">使用期限起始时间</td>
              <td colspan="3">{{ item.rightsStartTime }}</td>
            </tr>
            <tr class="xs">
              <td colspan="2">使用期限结束时间
              <td colspan="3">{{ item.rightsEndTime }}</td>
            </tr>
            <tr class="xs">
              <td colspan="2">用途</td>
              <td colspan="3">{{ item.useTo }}</td>
            </tr>
          </template>
          <tr v-else>
            <td colspan="5">暂无</td>
          </tr>
        </template>

      </table>
      <p>
        查询时间：周一至周四一般当天17:00前发起查询需24小时后, 17:00后需48小时后. 周五周六周天需等到下周一. 人工审核时间不固定, 您可多次查看刷新
      </p>
      <p>
        权利类型说明：
        权利类型（集体土地所有权、国家土地所有权、国有建设用地使用权、国有建设用地使用权/房屋所有权、宅基地使用权、宅基地使用权/房屋所有权、集体建设用地使用权、集体建设用地使用权/房屋所有权、土地承包经营权、土地承包经营权/森林、林木所有权、林地使用权、林地使用权/森林、林木使用权、草原使用权、水域滩涂养殖权、海域使用权、海域使用权/构筑物所有权、无居民海岛使用权、无居民海岛使用权/构筑物所有权、地役权、取水权、探矿权、采矿权、国有农用地使用权、抵押权、异议登记、查封登记、预告登记、国有建设用地使用权/构筑物所有权、宅基地使用权/构筑物所有权、集体建设用地使用权/构筑物所有权、海域使用权/建筑物所有权、无居民海岛使用权/建筑物所有权、房屋所有权、构筑物所有权、土地承包经营权/森林、林木使用权、林地使用权/森林、林木所有权、国有未利用地使用权、其它权利）
      </p>
      <p>
        共有情况：单独所有、共同共有、按份共有、其它共有
      </p>
    </div>
  </div>
</template>

<script>
  import {refreshiMmovab, queryData} from "@/api/system/query";
  import {getBalance} from "@/api/system/user";

  export default {
    name: "grbdc",
    props: {
      queryData: {
        required: true,
        type: Object
      },
      price: {
        default: null,
        type: Number
      },
      priceType: {
        default: null,
        type: Boolean
      },
      explain: {
        default: null,
        type: String
      },
      head: {
        default: true,
        type: Boolean
      }
    },
    data() {
      return {
        loading: false,
        lock: false,

        time: undefined,
        balance: undefined,

        msg: '暂无',
        xrData: undefined
      }
    },
    created() {
      this.refreshBalance()
      this.loading = true
      refreshiMmovab(this.queryData.queryId).then(response => {
        this.disResponse(response)
      })
    },
    computed: {
      computePrice() {
        return this.price > this.balance ? '（余额不足）' : (this.zeroTwo(this.price) + (this.priceType ? '（默认价）' : '（定制价）'))
      }
    },
    methods: {
      refreshBalance() {
        getBalance().then(response => {
          this.balance = response.data
        })
      },
      openBdc() {
        if (this.price > this.balance) {
          this.$bus.$emit('openPay')
          return
        }
        this.$confirm('查询需一定时间（当天17:00前查询，24小时后返回结果。当天17:00后查询，48小时后返回结果。周六日则72小时后返回）', '提示', {
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          type: 'warning'
        }).then(() => {
          this.loading = true
          queryData(this.queryData).then(response => {
            if (response.info) {
              this.$modal.alert("查询任务已建立，详细结果请稍后刷新查看")
            } else {
              this.$modal.alertWarning("查询任务建立失败，请联系客服！")
            }
            this.loading = false
          })
        })
      },
      getData() {
        this.loading = true
        // 管理员远程刷新
        refreshiMmovab(this.queryData.queryId).then(response => {
          if (response.success) {
            this.disResponse(response)
          } else {
            this.$modal.alert("预计" + response.time.replace('T', ' ') + " 后可刷新获取到具体结果")
            this.loading = false
          }
        })
      },
      disResponse(response) {
        console.log('--disResponse--', response)
        if (response.personalHouse) {
          this.time = response.createTime
          this.msg = JSON.parse(response.personalHouse).data.messge
        }
        if (response.personalRentApply) {
          this.xrData = JSON.parse(response.personalRentApply).data
          this.lock = true
        }
        this.loading = false
      },
      shzt(item) {
        if (item == 'IN_APPROVAL') {
          return '待审核'
        } else if (item == 'UN_APPROVED') {
          return '审核不通过'
        } else if (item == 'APPROVED') {
          return '审核通过'
        }
      },
      hczt(item) {
        if (item == '10') {
          return '审核中'
        } else if (item == '20') {
          return '核查中'
        } else if (item == '30') {
          return '核查成功'
        } else if (item == '40') {
          return '核查异常'
        }
      },
      cxjg() {
        let qi = this.xrData
        if (qi.detail.approvalStatus == 'APPROVED') {
          if (qi.detail.authResults && qi.detail.authResults > 0) {
            return '有结果'
          } else {
            return '查无'
          }
        } else if (qi.detail.approvalStatus == 'UN_APPROVED') {
          return '审核不通过'
        } else if (qi.detail.approvalStatus == 'IN_APPROVAL') {
          return '待审核'
        } else {
          return '异常'
        }
      }
    }
  };
</script>

<style scoped>
  #head {
    margin: 0px auto 8px;
    width: 60vw;
    font-size: 14px;
  }

  #head div {
    display: flex;
    justify-content: space-around;
    align-items: center
  }

  #describe {
    margin: 5px 0 0;
    font-weight: bold;
    text-align: center;
  }

  #sfhy {
    border-collapse: collapse;
    margin: 10px 0 auto;
    width: 100%;
  }

  #sfhy th, td {
    text-align: center;
    padding: 8px 0px;
    width: 20%;
  }

  th {
    background-color: #ececec;
  }

  .xs {
    background-color: #f5f3f3;
    border-bottom: 1px solid #ccc;
  }

  .el-dialog--center .el-dialog__body {
    text-align: initial;
    padding: 5px 15px 10px;
  }

  #bg {
    margin: 0 12px;
  }

  #bg p {
    font-size: 12px;
    line-height: 20px;
  }

</style>
